﻿namespace MicroCloud.Utils
{
    /// <summary>
    /// 数据库字段值生成规则
    /// </summary>
    [Description("值生成规则")]
    public enum ValueGenerateRule
    {
        /// <summary>
        /// 从不具有数据库生成的值
        /// </summary>
        [Description("从不具有数据库生成的值")]
        Never = 1,

        /// <summary>
        /// 仅在保存新实体时生成值，除非设置了非空的非临时值，在这种情况下，将改为保存设置的值。
        /// 该值可以由客户端值生成器生成，也可以由数据库生成，作为保存实体的一部分。
        /// </summary>
        [Description("仅在保存新实体时生成值")]
        OnAdd = 2,

        /// <summary>
        /// 在保存新实体或现有实体更新时生成值
        /// </summary>
        [Description("在保存新实体或现有实体更新时生成值")]
        OnAddOrUpdate = 3,

        /// <summary>
        /// 仅在现有实体更新时生成值
        /// </summary>
        [Description("仅在现有实体更新时生成值")]
        OnUpdate = 4,

        /// <summary>
        /// 在更新现有实体时在特定条件下生成的值
        /// </summary>
        [Description("在更新现有实体时在特定条件下生成的值")]
        OnUpdateSometimes = 5,

    }
}
